home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (DO) / Softdisk Magazette Volume 2, No. 04 (1982-12)(Softdisk)(Side B).zip / Softdisk Magazette Volume 2, No. 04 (1982-12)(Softdisk)(Side B).do / WORD.POWER.bas < prev    next >
BASIC Source File  |  1996-12-24  |  13KB  |  184 lines

  1. 10  REM *----------------------*
  2. 11  REM *                      *
  3. 12  REM *       WORD.POWER     *
  4. 13  REM *                      *
  5. 14  REM * STARTED 07/15/82     *
  6. 15  REM * LAST VERSION 09/25/82*
  7. 16  REM *                      *
  8. 17  REM *----------------------*
  9. 30  ONERR  GOTO 9000
  10. 40  HOME 
  11. 45  LET DOT$ = "........................................"
  12. 50  DIM Z$(40)
  13. 51  DIM B$(120),I(52)
  14. 70  LET N = 20
  15. 71  LET U =  -16336
  16. 72  FOR X = 770 TO 790: READ Y: POKE X,Y: NEXT : FOR X = 1 TO 51: READ I(X): NEXT :X = 0
  17. 80  VTAB 12: HTAB 10: PRINT "HAVE YOU RUN THIS PROGRAM": HTAB 10: PRINT "SINCE REBOOTING  (Y/N) ? ";: GET P9$: IF P9$ = "N"  THEN  PRINT : PRINT  CHR$(4);"BRUN WORD.FMT": PRINT  CHR$(4);"PR#0"
  18. 81 BASE =  PEEK(896) + PEEK(897) *256
  19. 82  HIMEM: BASE: REM SET HIMEM TO PROTECT STRING VARIABLES
  20. 83 D$ =  CHR$(4): REM  CONTROL D
  21. 84  POKE BASE +36,2: REM  SET NO SPACES BETWEEN LINES PRINTED
  22. 95  IF MU = 0  THEN  GOSUB 1500:MU = 1
  23. 99  VTAB 12
  24. 100  LET V = 6:H = 7: VTAB V: HTAB H: INVERSE : PRINT " : WORD POWER QUIZ SELECTION : ": PRINT : NORMAL : HTAB H: PRINT "<1> GENERAL WORDS      ": HTAB H: PRINT "<2> LOOK ALIKE WORDS  ": HTAB H: PRINT "<3> PHYSICAL FITNESS WORDS ": HTAB H: PRINT "<4> CONGRESSWOMAN'S WORDS "
  25. 101  HTAB H: PRINT "<5> COMPUTER LEXICON    ": HTAB H: PRINT "<6> NEWSCASTER/REPORTER WORDS ": HTAB H: PRINT "<7> INTERESTING USAGE WORDS   ": HTAB H: PRINT "<8> PERSONAL TRAIT WORDS      "
  26. 102  HTAB H: PRINT "<9> ";: INVERSE : PRINT "INSTRUCTIONS";: NORMAL : PRINT "  ": HTAB H: PRINT "<0> QUIT <HIT SPACE BAR > "
  27. 103  VTAB 18: HTAB H: PRINT "SELECT ->";: GET FF$: LET FF =  VAL(FF$): VTAB 18: HTAB H +11: PRINT FF$: PRINT 
  28. 104  IF FF = 0  THEN  GOSUB 1400: GOTO 6000
  29. 105  IF FF = 9  THEN  CALL BASE: GOTO 3900
  30. 106  GOSUB 1001
  31. 180  LET D$ =  CHR$(4): PRINT 
  32. 185  PRINT D$;"OPEN WORDS.DAT,L130"
  33. 195  GOSUB 1400: GOSUB 1250
  34. 200  CALL BASE: HOME : ON FF GOSUB 3100,3200,3300,3400,3500,3600,3700,3800,3900
  35. 205  VTAB 23: PRINT 
  36. 210  GOSUB 900: GOSUB 950
  37. 220  FOR XX = 1 TO 1000: NEXT 
  38. 300  FOR I = 1 TO N
  39. 305  PRINT 
  40. 320  GOSUB 1400: VTAB 7
  41. 330  HTAB 3: PRINT "WORD  # ";I: PRINT 
  42. 360  LET H$(1) = " " +H$(1) +" ": INVERSE : HTAB 3: PRINT H$(1):C$ = "-------------------------------------": HTAB 3: PRINT  LEFT$(C$, LEN(H$(1))): NORMAL 
  43. 380  FOR J = 2 TO 5
  44. 420  PRINT  TAB( 5);J -1; TAB( 8);H$(J)
  45. 440  NEXT 
  46. 445  PRINT 
  47. 460  VTAB 16: INVERSE : PRINT " TYPE '.' TO END ": NORMAL : PRINT " SELECT ";: PRINT " 1 - 4 -> ";: GET X$: VTAB 17: PRINT  VAL(X$): PRINT 
  48. 465  IF X$ = "."  THEN I = I -1: GOSUB 1400: GOTO 560
  49. 470  IF X$ < >H$(6)  THEN 500
  50. 480  VTAB 19: HTAB 25: FLASH : PRINT  SPC( 15): VTAB 20: HTAB 25: PRINT " *** RIGHT *** ": VTAB 21: HTAB 25
  51. 481  PRINT  SPC( 15): GOSUB 1101: FOR XX = 1 TO 100: NORMAL : NEXT :R = R +1: GOTO 520
  52. 500  INVERSE : VTAB 19: HTAB 25: PRINT  SPC( 13): VTAB 20: HTAB 25: PRINT "*** WRONG ***": VTAB 21: HTAB 25: PRINT  SPC( 13): NORMAL : PRINT : VTAB 22: PRINT  TAB( 3);H$(6);"  ";
  53. 501 CC =  VAL(H$(6)): PRINT H$(CC +1):W = W +1: VTAB 20: HTAB 2: INVERSE : PRINT " CORRECT ANSWER ": GOSUB 1103: NORMAL 
  54. 520  VTAB 17: HTAB 25: PRINT "RIGHT   WRONG": VTAB 18: HTAB 27: PRINT R;: HTAB 35: PRINT W: FOR XX = 1 TO 2000: NEXT 
  55. 530  GOSUB 953
  56. 540  NEXT 
  57. 560  HOME : VTAB 6: INVERSE : PRINT  TAB( 8);R" CORRECT -- "W" INCORRECT       ": NORMAL 
  58. 570  PRINT 
  59. 574  REM R1= GRAND TOTAL RIGHT       W1 = GRAND TOTAL WRONG      G2 = NO. QUIZZES TRIED      GA = TOT ITEMS ATTEMPTED          
  60. 575  LET R1 = R1 +R:R = 0:W1 = W1 +W:W = 0:G2 = G2 +1:GA = GA +I
  61. 580  VTAB 12: PRINT  TAB( 10)"VOCABULARY RATING"
  62. 585  PRINT  TAB( 10)"-----------------"
  63. 590  PRINT  TAB( 10)"20--18     MASTER"
  64. 600  PRINT  TAB( 10)"17--12     PLAYER"
  65. 610  PRINT  TAB( 10)"11-- 9     NOVICE"
  66. 620  PRINT  TAB( 10)"-----------------"
  67. 625  NORMAL 
  68. 630  VTAB 23: HTAB 8: PRINT "< PRESS ";: INVERSE : PRINT " SPACE ";: NORMAL : PRINT " BAR > ";: CALL  -756
  69. 640  HOME : GOSUB 1200: GOTO 95
  70. 899  END 
  71. 900  VTAB 11:PT$ = "  LOADING QUIZ ITEMS  ":H = (39 - LEN(PT$))/2: INVERSE : HTAB H: PRINT  SPC(  LEN(PT$)): VTAB 12: HTAB H: PRINT PT$: VTAB 13: HTAB H: PRINT  SPC(  LEN(PT$)): NORMAL : PRINT 
  72. 901  LET D$ =  CHR$(4)
  73. 902  PRINT D$;"OPEN WORDS.DAT,L130"
  74. 903  FOR P = SS TO EE
  75. 904  PRINT D$;"READ  WORDS.DAT,R";P
  76. 905  FOR J = 1 TO 6
  77. 906  INPUT A$
  78. 907  LET X = X +1
  79. 908  LET B$(X) = A$
  80. 909  NEXT J
  81. 911  NEXT 
  82. 912  PRINT D$;"CLOSE WORDS.DAT"
  83. 913  LET X = 0
  84. 914  RETURN 
  85. 950  LET A = 1:B = 6
  86. 952  LET X = 0
  87. 953  IF A = 121  THEN 560
  88. 954  FOR P = A TO B
  89. 955  LET X = X +1
  90. 957  LET H$(X) = B$(P)
  91. 959  NEXT 
  92. 961  LET A = A +6:B = B +6
  93. 963  LET X = 0
  94. 965  RETURN 
  95. 1000  REM * 1000-1010 SETS THE          LOOP FOR READING WORDS      OUT OF THE FILE INTO        AN ARRAY FOR USE IN         THIS PROGRAM *
  96. 1001  IF FF = 1  THEN SS = 1:EE = 20: GOTO 1009
  97. 1002  IF FF = 2  THEN SS = 21:EE = 40: GOTO 1009
  98. 1003  IF FF = 3  THEN SS = 41:EE = 60: GOTO 1009
  99. 1004  IF FF = 4  THEN SS = 61:EE = 80: GOTO 1009
  100. 1005  IF FF = 5  THEN SS = 81:EE = 100: GOTO 1009
  101. 1006  IF FF = 6  THEN SS = 101:EE = 120: GOTO 1009
  102. 1007  IF FF = 7  THEN SS = 121:EE = 140: GOTO 1009
  103. 1008  IF FF = 8  THEN SS = 141:EE = 160: GOTO 1009
  104. 1009  RETURN : REM                         
  105. 1100  REM * SOUND ROUTINE FOR A         CORRECT ANSWER
  106. 1101  LET N2 =  INT( RND(1) *41):N1 = N2 +4: FOR X = N2 TO N1: POKE 768,I(X): POKE 769,20: CALL 770: NEXT : FOR X = N1 TO N2  STEP  -1: POKE 768,I(X): POKE 769,20: CALL 770: NEXT :X = 0:XX = 0: RETURN 
  107. 1102  REM  * SOUND ROUTINE FOR A         WRONG ANSWER 
  108. 1103  LET I1 = 255: FOR X = 1 TO 3: POKE 768,I1: POKE 769,I1: CALL 770: FOR XX = 1 TO 400: NEXT : NEXT :X = 0:XX = 0: RETURN 
  109. 1200  LET DOT$ = "........................................"
  110. 1250  HOME 
  111. 1300  POKE 33,1: FOR I = 0 TO 39: POKE 32,I: VTAB 1: HTAB 1: PRINT  LEFT$(DOT$,24);: NEXT : TEXT : RETURN 
  112. 1400  FOR I2 = 1 TO 20: POKE 32,20 -I2: POKE 33,2 *I2: HOME : GOSUB 1450: NEXT :I2 = 0: RETURN 
  113. 1450  FOR J = 1 TO PAUSE: NEXT : RETURN 
  114. 1500  GOSUB 1200: INVERSE : LET V = 11: VTAB V:A$ = " : WORD POWER DRILL":H = (39 - LEN(A$))/2: HTAB H: PRINT  SPC(  LEN(A$) +3): VTAB V +1: HTAB H: PRINT A$;" : ": HTAB H: VTAB V +2: PRINT  SPC(  LEN(A$) +3): NORMAL 
  115. 1505  VTAB 15: HTAB 16: PRINT "WRITTEN BY": VTAB 17: HTAB 15: PRINT " GENE WEBER ": VTAB 18: HTAB 13: PRINT "HELENA, ARKANSAS": VTAB 20: HTAB 16: PRINT " 09/27/82 "
  116. 1510  FOR XX = 1 TO 7000: NEXT : GOSUB 1200: RETURN 
  117. 2000  REM * POKES TO ENABLE             SOUNDS IN LINES             1100-1105
  118. 2001  DATA 173,48,192,136,208,5,206,1,3,240,9,202,208,245,174,0,3,76,2,3,96
  119. 2002  REM * PITCH POKES FOR THE         ROUTINE AT LINE 1101
  120. 2003  DATA 255,250,245,240,235,230,225,220,215,210,205,200,195,190,185,180,175,170,165,160,155,150,145,140,135,130,125,120,115,110,105,100,95,90,85,80,75,70,65,60,55,50,45,40,35,30,25,20,15,10,5
  121. 2004  DATA GENERAL WORDS,LOOK ALIKE WORDS,PHYSICAL FITNESS WORDS,CONGRESSIONAL WORDS,COMPUTER LEXICON,NEWS/SPORTS WORDS,INTERESTING USAGE WORDS,PERSONAL TRAITS WORDS
  122. 2927  PRINT : VTAB 17: HTAB 13: INVERSE : PRINT "WRITTEN BY: ": NORMAL 
  123. 3000  HOME : VTAB 6
  124. 3100  INVERSE : VTAB 4: HTAB 8: PRINT " : WORD POWER QUIZ 1 : ": HTAB 8: PRINT " TOPIC : GENERAL WORDS ": NORMAL 
  125. 3110  PRINT "A WELL FOUNDED VOCABULARY IS LIKE A SIZABLE BANK ACCOUNT. IT'S YOUR PASSBOOK TO BETER SELF-EXPRESSION, YOUR PROTECTION AGAINST MENTAL POVERTY. STASH THE FOLLOWING WORDS IN YOUR MENTAL PIGGY BANK. THEN COMPUTE YOUR WORD WEALTH!"
  126. 3120  PRINT : PRINT : GOSUB 5000: RETURN 
  127. 3200  INVERSE : VTAB 1: HTAB 7: PRINT " : WORD POWER QUIZ 2 : ": HTAB 6: PRINT " TOPIC: LOOK ALIKE WORDS ": NORMAL 
  128. 3210  PRINT "IT'S TOO EASY TO GET OFF-BALANCE WHEN YOU REALIZE A WORD LOOKS OR SOUNDS ALMOST LIKE ANOTHER. BUT YOU'LL DOUBTLESS REGAIN YOUR BALANCE BY THE END OF THIS QUIZ!! PICK THE ANSWER CLOSEST IN MEANING TO THE KEY WORD. THEN ";
  129. 3220  PRINT "CHOOSE THE WORD OR PHRASE YOU THINK IS CORRECT!"
  130. 3221  GOSUB 5000: RETURN 
  131. 3300  INVERSE : VTAB 1: HTAB 7: PRINT " : WORD POWER QUIZ 3 : ": HTAB 6: PRINT " TOPIC: PHYSICAL FITNESS ": NORMAL 
  132. 3310  PRINT "MILLIONS OF PEOLE TODAY HAVE CHANGED THEIR LIVES FOR THE BETTER THROUGH EXERCISE--LOSING WEIGHT, TONING UP MUSCLES, GAINING MORE ENERGY. IN ONE WAY OR ANOTHER, THE FOLLOWING WORDS ALL HAVE TO DO WITH THIS CHEERFUL PHENOMENON. ";
  133. 3320  PRINT "CHOOSE THE WORD OR PHRASE YOU THINK IS CORRECT!!"
  134. 3325  GOSUB 5000: RETURN 
  135. 3400  INVERSE : VTAB 1: HTAB 7: PRINT " : WORD POWER QUIZ 4 : ": HTAB 5: PRINT " TOPIC: CONGRESSWOMAN'S WORDS ": NORMAL 
  136. 3410  PRINT "REP. MILLICENT FENWICK (R.NJ) IS ALMOST AS WELL KNOWN FOR HER USE OF PRECISE LANGUAGE AS SHE IS FOR THE PETITE PIPE THAT SHE SMOKES (OCASIONALLY PARODIED IN THE 'DOONESBURY' COMIC STRIP).";
  137. 3420  PRINT " THE FOLLOWING WORDS ARE GLEANED FROM HER REPORTS TO CONSTITUENTS. CHOOSE THE WORD OR PHRASE YOU THINK IS CORRECT."
  138. 3421  GOSUB 5000: RETURN 
  139. 3500  INVERSE : VTAB 1: HTAB 7: PRINT " : WORD POWER QUIZ 5 : ": HTAB 6: PRINT " TOPIC: COMPUTER LEXICON ": NORMAL 
  140. 3510  PRINT "ARE YOU CONVERSANT WITH THE COMPUTER REVOLUTION? INCREASING USAGE OF THE FOLLOWING WORDS--ALL DERIVED FROM THE 'HOME-COMPUTER' LEXICON--MARKS THE COMING ELECTRONIC AGE. CHOOSE THE WORD OR PHRASE YOU THINK IS CORRECT. ";
  141. 3520  PRINT "THEN CALCULATE YOUR WORD POWER!!!"
  142. 3521  PRINT : PRINT 
  143. 3522  GOSUB 5000: RETURN 
  144. 3600  INVERSE : VTAB 4: HTAB 7: PRINT " : WORD POWER QUIZ 6 : ": HTAB 4: PRINT " TOPIC: REPORTER/NEWSCASTER JARGON ": NORMAL 
  145. 3610  PRINT "WHEN YOUR FAVORITE REPORTERS OR NEWS- CASTERS DESCRIBE THIS FALL'S SPORTS EVENTS, THEY MIGH WELL USE WORDS LIKE THESE, ";
  146. 3615  PRINT "SELECTED FROM THE PAGES OF THE READER'S DIGEST. PICK THE ANSWER YOU THINK IS CORRECT,THEN CALCULATE YOUR WORD POWER!!"
  147. 3620  PRINT 
  148. 3621  GOSUB 5000: RETURN 
  149. 3700  INVERSE : VTAB 1: HTAB 7: PRINT " : WORD POWER QUIZ 7 : ": HTAB 4: PRINT " TOPIC: INTRESTINGLY USED WORDS ": NORMAL 
  150. 3710  PRINT "YOU NEVER KNOW WHERE AN INTRESTING WORD MAY POP UP AND SURPRISE YOU. ON THE MENU OF A HOTEL COFFEE SHOP I CAME ACROSS 'NONPAREIL' RICE PUDDING. INTRIGUED, ";
  151. 3715  PRINT "I FELT COMPELLED TO TRY IT. ALL OF THE FOLLOWING WORDS HAVE TURNED UP IN ";
  152. 3720  PRINT "IMAGINATIVE SENTENCE USAGE. PICK THE ANSWER YOU  THINK IS CORRCT!!"
  153. 3721  GOSUB 5000: RETURN 
  154. 3800  INVERSE : VTAB 5: HTAB 8: PRINT " : WORD POWER QUIZ 8 : ": HTAB 6: PRINT " TOPIC: PERSONAL TRAIT WORDS ": NORMAL 
  155. 3810  PRINT "  EACH OF THE 20 TEST WORDS IN THIS QUIZ REFLECTS A PERSONAL  TRAIT: HAPPY, MENACING, SLEEPY, SKILLFUL, MYSTRIOUS OR ANY NUMBER OF OTHERS. SEE HOW MANY YOU CAN SPOT. THEN CALCULATE YOUR WORD POWER!!"
  156. 3811  PRINT : PRINT : GOSUB 5000: RETURN 
  157. 3900  HOME : LET A1$ = " WELCOME TO WORD POWER ":H = (39 - LEN(A1$))/2: VTAB 2: HTAB H: INVERSE : PRINT A1$: NORMAL : PRINT 
  158. 3905  PRINT "   THE  WORD POWER PROGRAM IS A VOCABULARY DRILL PATTERENED AFTER THE MONTHLY FEATURE IN THE READER'S DIGEST MAGAZINE CALLED 'IT PAYS TO ENRICH YOUR WORD POWER'. WHEN YOU RAN THE PROGRAM YOU WERE SHOWN A MENU WITH CHOICES 0 ";
  159. 3910  PRINT "- 9. THE FIRST EIGHT CHOICES REFLECT THE SUBJECT MATTER OF THE DRILLS. "
  160. 3911  PRINT "  AFTER YOU HAVE MADE YOUR SELECTION FROM THE MENU THE QUIZ WILL BE LOADED INTO MEMORY FROM THE RANDOM FILE WORD.DAT. WHEN LOADING IS COMPLETED YOU WILL SEE THE WORD IN INVERSE WITH FOUR CHOICES BELOW. JUST ";
  161. 3912  PRINT "ENTER THE ANSWER 1 THROUGH 4. ENTER A '.' TO END."
  162. 3913  PRINT "    THE PROGRAM WILL TELL YOU WHETHER YOUR ANSWER IS RIGHT OR WRONG."
  163. 3915  PRINT " IT WILL ALSO GIVE YOU A RUNNING SCORE AS YOU PROGRESS THROUGH THE DRILL. "
  164. 3916  PRINT "WHEN YOU HAVE COMPLETED A DRILL YOU WILL BE TAKEN BACK TO THE MENU. YOU MAY THEN DO ANOTHER DRILL OR EXIT THE PROGRAM."
  165. 3920  PRINT "   DO MORE THAN ONE QUIZ AND THE PROGRAM WILL KEEP UP AS YOU GO AND GIVE YOU A REPORT AT THE END OF EACH QUIZ."
  166. 3921  PRINT : PRINT 
  167. 3925  VTAB 5: PRINT "  THE MATERIAL FOR THE QUIZZES COMES DIRECTLY FOR THE READER'S DIGEST. THE MENU ROUTINE AND WIPES ARE BASED ON PROGRAMS WRITTEN BY BEAGLE BROS."
  168. 3926  VTAB 16: HTAB 10: INVERSE : PRINT " WORD POWER DRILL "
  169. 3929  VTAB 17: HTAB 13: INVERSE : PRINT " WRITTEN BY ": NORMAL 
  170. 3930  VTAB 19: HTAB 14: PRINT "GENE WEBER"
  171. 3940  PRINT : PRINT : PRINT : PRINT : PRINT : PRINT 
  172. 3990  PRINT D$;"CLOSE": GOSUB 5000: GOSUB 1200: GOTO 95
  173. 5000  PRINT D$;"PR#0": RETURN 
  174. 6000  REM 
  175. 6100  LET PCT =  INT(R1/GA *100)
  176. 6110  IF PCT >89  THEN AW$ = " MASTER ": GOTO 6150
  177. 6120  IF PCT >59  THEN AW$ = " PLAYER ": GOTO 6150
  178. 6130  IF PCT >44  THEN AW$ = " NOVICE ": GOTO 6150
  179. 6140  LET AW$ = " *** DIFFICULT TO MEASURE *** ": GOTO 6150
  180. 6150  GOSUB 6170
  181. 6155  VTAB 12: HTAB 7: PRINT "YOUR VOCABULARY RATING IS ": INVERSE 
  182. 6160 H = (39 - LEN(AW$))/2: VTAB 14: HTAB H: PRINT  SPC(  LEN(AW$)): VTAB 15: HTAB H: PRINT AW$: VTAB 16: HTAB H: PRINT  SPC(  LEN(AW$)): NORMAL : FOR XX = 1 TO 10000: NEXT : GOSUB 1400: END 
  183. 6170  HOME :PCT =  INT(R1/GA *100): VTAB 7: HTAB 10: PRINT "TOTAL ATTEMPTED  ";GA: HTAB 10: PRINT "TOTAL RIGHT----- ";R1: HTAB 10: PRINT "PERCENT RIGHT--- ";PCT;"%": RETURN 
  184. 9000  HOME : VTAB 12: HTAB 16: PRINT " THE END ": FOR XX = 1 TO 2000: NEXT : GOSUB 1400: END